home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1984-04-24 | 2.1 KB | 127 lines |
- 10 ' *******************
- 20 ' ** SPELL **
- 30 ' *******************
- 40 '
- 50 CLEAR
- 60 DEF SEG
- 70 SCREEN 1
- 80 COLOR 0,0
- 90 CLS
- 100 KEY OFF
- 110 RANDOMIZE VAL(MID$(TIME$,4,2) + RIGHT$(TIME$,2))
- 120 LOCATE 12,19
- 130 POKE &H4E,2
- 140 PRINT "SPELL
- 150 FOR DELTA = 3 TO 77 STEP 5
- 160 LINE (120-DELTA,87-DELTA)-(205+DELTA,97+DELTA),,B
- 170 NEXT DELTA
- 180 LOCATE 24,7
- 190 POKE &H4E,1
- 200 INPUT "How many words to learn";COUNT
- 210 DIM A$(COUNT),SCORE(COUNT)
- 220 FOR I = 1 TO COUNT
- 230 SCORE(I) = 2
- 240 NEXT I
- 250 CLS
- 260 COLOR 0,1
- 270 PRINT "Let's type in the words.
- 280 PRINT "Be careful to spell them correctly ...
- 290 PRINT
- 300 PRINT
- 310 FOR I = 1 TO COUNT
- 320 POKE &H4E,2
- 330 PRINT "Word number";I;" ";
- 340 POKE &H4E,3
- 350 INPUT CAP$
- 360 GOSUB 1210
- 370 A$(I) = CAP$
- 380 NEXT I
- 390 CLS
- 400 '
- 410 PTR = INT(RND * COUNT + 1)
- 420 J = 0
- 430 IF SCORE(PTR) THEN 490
- 440 PTR = PTR MOD COUNT + 1
- 450 J = J + 1
- 460 IF J > COUNT THEN 980
- 470 GOTO 430
- 480 '
- 490 CLS
- 500 COLOR 0,1
- 510 LOCATE 13,20 - LEN(A$(PTR)) / 2
- 520 POKE &H4E,3
- 530 PRINT A$(PTR);
- 540 FOR I = 9 TO 99 STEP 3
- 550 LINE (0,99-I)-(319,99-I),2
- 560 LINE (0,99+I)-(319,99+I),2
- 570 NEXT I
- 580 IF SCORE(PTR) = 2 THEN GOSUB 1160
- 590 CLS
- 600 COLOR 0,1
- 610 LOCATE 9,7
- 620 POKE &H4E,1
- 630 PRINT "Now try to spell it ...
- 640 POKE &H4E,3
- 650 LOCATE 14,17 - LEN(A$(PTR)) / 2
- 660 IF LEN(INKEY$) THEN 660
- 670 INPUT CAP$
- 680 GOSUB 1210
- 690 IF CAP$ = A$(PTR) THEN 800
- 700 '
- 710 ' Whoops, better luck next time
- 720 CLS
- 730 LOCATE 14,9
- 740 PRINT "Sorry ...... ";A$(PTR);
- 750 GOSUB 1160
- 760 SCORE(PTR) = 2
- 770 GOTO 410
- 780 '
- 790 ' Wow, sit back and enjoy sucess for a spell
- 800 CLS
- 810 COLOR 0,0
- 820 POKE &H4E,1
- 830 LOCATE 13,16
- 840 PRINT "Very good !"
- 850 FOR I = 23 TO 123 STEP 5
- 860 X1 = 160 - 3 * I
- 870 X2 = 160 + 3 * I
- 880 Y1 = 99 - I
- 890 Y2 = 99 + I
- 900 LINE (X1,99)-(160,Y1)
- 910 LINE -(X2,99)
- 920 LINE -(160,Y2)
- 930 LINE -(X1,99)
- 940 NEXT I
- 950 SCORE(PTR) = SCORE(PTR) - 1
- 960 GOTO 410
- 970 '
- 980 CLS
- 990 POKE &H4E,3
- 1000 LOCATE 1,1
- 1010 PRINT "You did it! Now you know how to spell
- 1020 PRINT "all these words...",,,,,
- 1030 POKE &H4E,1
- 1040 FOR I = 1 TO COUNT
- 1050 PRINT A$(I),
- 1060 NEXT I
- 1070 POKE &H4E,2
- 1080 PRINT
- 1090 PRINT
- 1100 PRINT TAB(11)"CONGRATULATIONS !
- 1110 PRINT TAB(11)STRING$(17,"_");
- 1120 LOCATE 22
- 1130 END
- 1140 '
- 1150 ' Subroutine, delay for awhile
- 1160 FOR DELAY = 1 TO 777
- 1170 NEXT DELAY
- 1180 RETURN
- 1190 '
- 1200 ' Subroutine, capitalization
- 1210 FOR CHAR = 1 TO LEN(CAP$)
- 1220 CHAR$ = MID$(CAP$,CHAR,1)
- 1230 IF CHAR$ < "a" OR CHAR$ > "z" THEN 1250
- 1240 MID$(CAP$,CHAR,1) = CHR$(ASC(CHAR$)-32)
- 1250 NEXT CHAR
- 1260 RETURN
-